﻿Public Class IsyeriPrimBorcuHesabi
	Inherits ProcessReport

	Dim Borc As Prim.Borc.BorcIsyeri

	Public Overrides Sub GenericEvent(ByVal e As ProcessEventArgs)
		Select Case e.EventType
			Case EventType.Initialize
				Start("İşyeri Prim Borcu Hesabı", "Hesaplama bilgilerini girin.")
				AddIsyeri()
				AddDateRange("Tarih", "", "19760101", YMD(Today))
				AddField("Tarih[name=pesintar;label=Ödeme tar.]", "nl", YMD(Today))
			Case EventType.ValidateForm
				Tables.Clear()
				Tables.Add("isyeri", Isyeri.IsyeriNoAra(Remote, Input("Isyeri")))
				Help = "Prim borcu hesaplanıyor..."
				Borc = Prim.Borc.HesaplaIsyeri(Remote, Input("Isyeri"), Input("Tarih1"), Input("Tarih2"), Input("pesintar"))
				If Borc.ErrorMessage <> "" Then
					Warning(Borc.ErrorMessage)
					ResetForm()
					Return
				End If
				If Borc.Aylar.Count = 0 Then
					Warning("Sigortalının ilgili dönemlere ait borcu bulunamadı.")
					ResetForm()
					Return
				End If
				e.Result = True
			Case EventType.PageHeader
				Report.PrintReportInfo("İŞYERİ PRİM BORCU DÖKÜMÜ", FormatIsyeriNo(Tables("isyeri")("isyerino")) & " - " & Trim(Tables("isyeri")("isyeriadi")))
				Report.SetColumns("Tarih;Bordro;Kişi;PEK;Anapara;Ceza;Toplam", "2;1;1;2;2;2;2", "d;c;n;m;m;m;m", "--")
			Case EventType.ReportDetail
				Dim Toplam(3) As Decimal
				For Each Ay As Prim.Borc.Borc.Ay In Borc.Aylar.Values
					For Each Bordro In Ay.Bordrolar
						Report.Print(Ay.Tarih, Bordro.tip, Bordro.yatirimlar.Count, Bordro.pek, Bordro.anapara, Bordro.ceza, Bordro.anapara + Bordro.ceza)
						Toplam(0) += Bordro.anapara
						Toplam(1) += Bordro.ceza
						Toplam(2) += Bordro.anapara + Bordro.ceza
					Next
				Next
				Report.PrintTotal("<cs=4><l>TOPLAM", Toplam(0), Toplam(1), Toplam(2))
		End Select
	End Sub

End Class